#include<vector>
#include<algorithm>
#include<iostream>

void remove_5s(std::vector<int> &vec) // 还可以用于list等
{
    // std::remove(begin(vec),end(vec),5); // c++20之前移除vec中为5的元素的方法
    // vec.shrink_to_fit();
    // auto size=vec.size();
    // 讲解remove的博客https://www.cnblogs.com/jingyg/p/5613303.html 注意remove的产生的结果

    // vec.erase(std::remove(begin(vec),end(vec),5),end(vec)); // c++20之前移除vec中为5的元素

    std::erase(vec,5);// c++20起，可以直接使用move移除为某个value的所有元素，而不需要再使用erase+remove形式
}

int main(){
    std::vector<int> vec{1,5,3,4,5};
    remove_5s(vec);
    return 0;
}